#define _CRT_SECURE_NO_WARNINGS
//#include<stdio.h>
//int main()
//{
//	int a = 0;
//	int b = 0;
//	int c = 0;
//	int k = 0;
//	scanf_s("%d %d %d", &a, &b, &c);
//	if (a < b)
//	{
//		k = a;
//		a = b;
//		b = k;
//	}
//	if (a < c)
//	{
//		k = a;
//		a = c;
//		c = k;
//	}
//	if (b < c)
//	{
//		k = b;
//		b = c;
//		c = k;
//	}
//	printf("%d %d %d", a, b, c);
//
//	return 0;
//}	


//#include<stdio.h>
//int main()
//{
//	int i = 0;
//	int sum = 0;
//	for (i = 0; i <= 100; i++)
//	{
//		int flag = 1;
//		int k = 0;
//		for (k = 2; k < i; k++)
//		{
//			if (i % k == 0)
//			{
//				flag = 0;
//				break;
//			}
//		}
//		if (flag == 1)
//		{
//			printf(" %d", i);
//			sum++;
//		}
//	}
//	printf("\n%d\n", sum);
//	return 0;
//}
// 0 1 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 27
//#include<stdio.h>
//#include<math.h>
//int main()
//{
//	int i = 0;
//	int sum = 0;
//	for (i = 1; i <= 100; i+=2)
//	{
//		int flag = 1;
//		int k = 0;
//		for (k = 2; k <= sqrt(i); k++)
//		{
//			if (i % k == 0)
//			{
//				flag = 0;
//				break;
//			}
//		}
//		if (flag == 1)
//		{
//			printf(" %d", i);
//			sum++;
//		}
//	}
//	printf("\n%d\n", sum);
//	return 0;
//}
// 1 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 25
//#include<stdio.h>
//int main()
//{
//	int a = 0;
//	int b = 0;
//	scanf("%d %d", &a, &b);
//	int m = a < b ? a : b;
//	while (1)
//	{
//		if (a % m == 0 && b % m == 0)
//			break;
//		m--;
//	}
//	printf("%d", m);
//	return 0;
//}
#include<stdio.h>
int main()
{
	int a = 0;
	int b = 0;
	int k = 0;
	scanf("%d %d", &a, &b);
	while (k=a%b)
	{
		a = b;
		b = k;
		
	}
	printf("%d", b);
	return 0;
}
